package cn.jtfadmin.base.filesystem.annos;


import cn.jtfadmin.base.filesystem.annos.handle.FileSerializer;
import cn.jtfadmin.base.lang.enums.FileType;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.lang.annotation.*;

/**
 * 文件注解
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JacksonAnnotationsInside
@JsonSerialize(using = FileSerializer.class)
public @interface File {

    /**
     * 存储目录名称
     *
     * @return 存储目录名称
     */
    String dirName() default "";

    /**
     * 文件类型
     *
     * @return
     */
    FileType fileType() default FileType.OTHER;

    /**
     * 描述
     *
     * @return
     */
    String describe() default "";

    /**
     * 文件数量
     *
     * @return 文件数量
     */
    int num() default 1;

}
